import qqMap from '../../../utils/qqmap'

Page({
  data: {
    address: '',
    points: [],
  },

  // ---------------生命周期钩子函数-begin----------------
  onLoad() {
    // 获取当前位置的经纬度信息
    this.getLocation()
  },
  // ---------------生命周期钩子函数-end------------------

  // ---------------自定义函数-begin-----------------------
  // 1. 获取当前位置的经纬度信息<纬度: 小的, 经度: 大的>
  async getLocation() {
    const { latitude, longitude } = await wx.getLocation()
    // console.log(latitude, longitude)
    this.getPoint(latitude, longitude)
  },

  // 2. 重新定位
  async chooseLocation() {
    const { latitude, longitude } = await wx.chooseLocation()
    this.getPoint(latitude, longitude)
  },

  // 3. 根据经纬度获取具体的位置信息
  getPoint(latitude, longitude) {
    wx.showLoading({
      title: '正在加载数据...',
    })
    // 3.1 获取当前地点
    qqMap.reverseGeocoder({
      // location: '39.984060,116.307520',
      location: [latitude, longitude].join(',') || '',
      success: ({ result: { address } }) => {
        this.setData({ address })
      },
    })

    // 3.2 获取周边
    qqMap.search({
      keyword: '住宅小区', //搜索关键词
      location: [latitude, longitude].join(',') || '', //设置周边搜索中心点
      page_size: 5,
      success: (res) => {
        // 处理数据
        const points = []
        res.data.forEach(({ id, title, _distance }) => {
          points.push({ id, title, _distance })
        })
        this.setData({ points })
      },
      fail: () => {
        wx.utils.toast('当前位置周围没有小区')
      },
      complete: () => {
        wx.hideLoading()
      },
    })
  },

  // 4. 去选择楼栋
  goBuilding(ev) {
    // console.log(ev.mark.point)
    wx.navigateTo({
      url: `/house_pkg/pages/building/index?point=${ev.mark.point}`,
    })
  },
  // ---------------自定义函数-end-------------------------
})
